package com.yidu.hbats.service.TrainingPlan;

import com.yidu.hbats.model.*;
import com.yidu.utils.AtsPlanItemTree;

import java.util.List;
import java.util.Map;

/**
 * @program: hbats
 * @description
 * @author: 周佳佳
 * @create: 2019-11-05 08:51
 **/
public interface AtsPlanItemService {
    /**
     * 课统计图
     *
     * @param atsPlanItem
     * @return
     */
    List<AtsPlanItemTree> curEchar(AtsPlanItem atsPlanItem);

    /**
     * 周统计图
     * @param atsPlanItem
     * @return
     */
    List<AtsPlanItemTree> weekEchar(AtsPlanItem atsPlanItem);

    /**
     * 周统计图
     * @param atsPlanItem
     * @return
     */
    List<AtsPlanItemTree> phaseEchar(AtsPlanItem atsPlanItem);



    /**
     * 年统计图
     * @param atsPlanItem
     * @return
     */
    List<AtsPlanItemTree> yearEchar(AtsPlanItem atsPlanItem);



    /**
     * 年多统计图
     * @param atsPlanItem
     * @return
     */
    List<AtsPlanItemTree> yearMoreEchar(AtsPlanItem atsPlanItem);

    /**
     * 根据外键查询所有
     *
     * @param atsPlanItem
     * @return
     */
    Map<String, Object> curSelectPid(AtsPlanItem atsPlanItem, AtsPlanCurriculum atsPlanCurriculum);
    Map<String, Object> weekSelectPid(AtsPlanItem atsPlanItem, AtsPlanWeek atsPlanWeek);
    Map<String, Object> phaseSelectPid(AtsPlanItem atsPlanItem, AtsPlanPhase atsPlanPhase);
    Map<String, Object> yearSelectPid(AtsPlanItem atsPlanItem, AtsPlanYear atsPlanYear);
    Map<String, Object> yaerMoreSelectPid(AtsPlanItem atsPlanItem, AtsPlanYearMore atsPlanYearMore);

    /**
     * 增加训练计划指标
     *
     * @param record
     */
    void insertSelective(AtsPlanItem record);

    /**
     * 记忆功能
     *
     * @return
     */
    List<AtsPlanItem> findPlanItemYearMore(Integer pid);

    List<AtsPlanItem> findPlanItemYearMoreone(Integer pid);
    List<AtsPlanItem> findPlanItemYearMorethree(Integer pid);
    List<AtsPlanItem> findPlanItemYearMorefour(Integer pid);
    List<AtsPlanItem> findPlanItemYearMorefive(Integer pid);
    /**
     * 查询年度的记忆功能
     *
     * @param pid
     * @return
     */
    List<AtsPlanItem> findPlanItemYearMoretwo(Integer pid);

    /**
     * @mbg.generated 2019-10-29
     */
    int updateByPrimaryKeySelective(AtsPlanItem record);
    int updateOrdeletethree(AtsPlanItem record);
    /**
     * 修改计划得先修改一遍
     *
     * @param record
     * @return
     */
    int updateOrdelete(AtsPlanItem record);

    /**
     * 修改年度计划得先修改一块
     *
     * @param record
     * @return
     */
    int updateOrdeletetwo(AtsPlanItem record);

    /**
     * 多年年度查询分组
     *
     * @return
     */
    List<AtsPlanItem> findDivone();

    /**
     * 年度查询分组
     *
     * @return
     */
    List<AtsPlanItem> findDivtwo();
    List<AtsPlanItem> findDivthree();
    List<AtsPlanItem> findDivfour();
    List<AtsPlanItem> findDivfive();
    /**
     * @mbg.generated 2019-10-29
     */
    int updateByPrimaryKeySelectivetwo(AtsPlanItem record);
    int updateByPrimaryKeySelectivethree(AtsPlanItem record);
    int updateByPrimaryKeySelectivefour(AtsPlanItem record);
    int updateByPrimaryKeySelectivefive(AtsPlanItem record);
    int updateOrdeletefour(AtsPlanItem record);
    int updateOrdeletefive(AtsPlanItem record);
}
